package section1_10;


import java.util.concurrent.TimeUnit;

/**
 * Created by Hyman on 2017/4/24.
 *
 * 线程局部变量的使用
 */
public class UnsafeMain {

    /**
     * 如果创建的对象是实现了Runnable接口的类的实例，用它作为传入参数创建多个线程对象并启动这些线程，那么所有的线程将共享相同的属性。
     * 也就是说，如果你在一个线程中改变了一个属性，所有线程都会被这个改变影响
     * @param args
     */
    public static void main(String[] args) {

        // 创建线程不安全的任务
        UnsafeTask task = new UnsafeTask();

        // 将任务入进三个不同的线程中
        for (int i = 0; i < 3; i++) {
            Thread thread = new Thread(task);
            thread.start();
            try {
                TimeUnit.SECONDS.sleep(2);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }

    }
}
